package com.railway.service;

import java.util.List;

import com.railway.bean.Contact;
import com.railway.bean.LoseCreditUser;
import com.railway.bean.Page;
import com.railway.bean.User;

/**
 * @author 27607
 *用户业务
 */
public interface UserService {
	
	/**用户登录业务
	 * @param username
	 * @param password
	 * @return
	 */
	User login(String username,String password);
	
	/**用户删除业务
	 * @param user_id
	 * @return
	 */
	int deleteUser(int user_id);
	
	/**用户注册业务
	 * @param user
	 * @return
	 */
	int regester(User user);
	
	/**添加乘车人
	 * @param contact
	 * @return
	 */
	int addContact(Contact contact);
	
	/**删除乘车人
	 * @param user_id
	 * @param contact_id
	 * @return
	 */
	int deleteContact(int user_id,int contact_id);
	
	/**用于查询乘车人业务
	 * @param user_id
	 * @return
	 */
	List<Contact> selectContact(int user_id);
	
	/**查询所有用户
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	Page<User> selectUserAll(int pageNum,int pageSize);
	
	/**查询联系人
	 * @param user_id
	 * @param user_name
	 * @return
	 */
	List<Contact> selectContactByIdAndName(int user_id,String user_name);
	
	/**
	 * @return 后台添加用户
	 */
	int addUser(User u);
	
	/**
	 * 查询用户信息
	 * @param userName
	 * @return
	 */
	User selectByUserName(String userName);
	
	/**
	 * 修改手机号
	 * @param phoneNum
	 * @param userName
	 * @param userPassword
	 * @return
	 */
	int updatePhone(String phoneNum, String userName, String userPassword);
	
	/**
	 * 修改电子邮件
	 * @param emailNew
	 * @param userName
	 * @param password
	 * @return
	 */
	int updateEmail(String emailNew, String userName, String password);

	/**
	 * 修改密码
	 * @param passwordNew
	 * @param userName
	 * @param password
	 * @return
	 */
	int updatePassword(String passwordNew, String userName, String password);

	/**通过id修改后台管理系统里的用户信息
	 * @param user_id
	 * @param user_name
	 * @param user_phone
	 * @param user_password
	 * @param user_email
	 * @param consumption_password
	 * @return
	 */
	int updateUserById(int user_id, String user_name, String user_phone, String user_password, String user_email,
			String consumption_password);
}
